home *** CD-ROM | disk | FTP | other *** search
- 100 rem ye olde shell game by sullivan
- 110 def fn d(n)=int(rnd(1)*n)
- 120 j=rnd(-ti): a=15
- 130 print chr$(14)
- 140 goto 440
- 150 rem print title
- 160 print "[147]" tab(a) "[211][200][197][204][204] [199][193][205][197]" u$
- 170 a=15: u$="": return
- 180 rem get skill level
- 190 poke z,p: print
- 200 print tab(10)"[211]kill [204]evel (1-9): ";
- 210 gosub 330: b=n: k=120+((9-b)^2)*5
- 220 for i=1 to r: next: return
- 230 rem delay
- 240 for i=1 to k: next: return
- 250 rem shell layout
- 260 for i=0 to 8
- 270 j=int(i/3)
- 280 b(i)=1241+80*j+3*(i-j*3)
- 290 poke b(i)+c,1
- 300 next i
- 310 return
- 320 rem numeral input
- 330 g=1-g
- 340 for j=1 to 20
- 350 if g=1 then print "";
- 360 print "?[157][146]";
- 370 get q$
- 380 n=val(q$): if n>0 goto 410
- 390 next j
- 400 goto 330
- 410 print "[157]" n ""
- 420 return
- 430 rem mainline
- 440 c=54272: e=160: f=170: r=700
- 450 h=1484: z=214: p=8: gosub 160
- 460 gosub 190: s=0: p=21
- 470 u$=": [204]evel"+str$(b): a=10
- 480 gosub 160: gosub 260: poke c+h,1
- 490 u=fn d(9)
- 500 v=fn d(9)
- 510 if v=u goto 500
- 520 w=fn d(9)
- 530 if w=u or w=v goto 520
- 540 for i=0 to 8
- 550 a(i)=e
- 560 if i=u or i=v or i=w then a(i)=f
- 570 poke b(i),a(i)
- 580 next i
- 590 for i=1 to h: next
- 600 poke b(u),e:poke b(v),e:poke b(w),e
- 610 for i=1 to r: next
- 620 m=fn d(2)+8
- 630 for j=1 to m
- 640 x=fn d(9): poke b(x),32
- 650 t=a(x): poke h,e: gosub 240
- 660 y=fn d(9): if y=x goto 660
- 670 poke b(y),32: a(x)=a(y)
- 680 for i=1 to 120: next
- 690 poke b(x),e: gosub 240
- 700 poke h,32: poke b(y),e
- 710 a(y)=t: gosub 240
- 720 next j
- 730 for i=0 to 8
- 740 poke b(i),177+i
- 750 next i
- 760 poke z,11: print
- 770 for i=1 to 3
- 780 print tab(18) "*[146] = ?"
- 790 next i
- 800 poke z,11: print
- 810 for i=1 to 3
- 820 print tab(22);
- 830 gosub 330
- 840 if a(n-1)>0 goto 860
- 850 print "[145][145]";: goto 820
- 860 s=s-(a(n-1)=f): a(n-1)=-a(n-1)
- 870 next i
- 880 for i=0 to 8
- 890 if abs(a(i))=f then poke b(i),f
- 900 next i
- 910 print "" tab(14) s "out of 3!"
- 920 print tab(14) "[193][199][193][201][206][160][160]([217]/[206])?";
- 930 get q$: if q$="y" goto 460
- 940 if q$<>"n" goto 930
- 950 gosub 160: print
-